#include<iostream>
#include<algorithm>
#include<climits>
using namespace std;
const int N=5e4+10;

struct node
{
	int w;
	int s;
}cow[N];

bool cmp(const node&a,const node&b)
{
	// 						b    	a
	// a在上面,b在下面 max(W+a.w-b.s,	W-a.s);
	// b在上面,a在下面 max(W-b.s,		W+b.w-a.s);
	// return max(a.w-b.s,-a.s)<max(-b.s,b.w-a.s);
	//从大到小
	return b.w-a.s>a.w-b.s;
}
int main()
{
	int n;cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>cow[i].w>>cow[i].s;
	}
	sort(cow+1,cow+1+n,cmp);//从上到下
	long long w=0;
	long long ret=LLONG_MIN;
	for(int i=1;i<=n;i++)
	{
		ret=max(ret,w-cow[i].s);
		w+=cow[i].w;
	}
	cout<<ret<<endl;
}